Лабораторная работа №9

Артём Дмитриевич Петлин

Российский университет дружбы народов

2025-11-01

Информация

Докладчик

Цель работы

Цель работы

Получить навыки работы с контекстом безопасности и политиками SELinux.

Задание

Задание

  1. Продемонстрируйте навыки по управлению режимами SELinux (см. раздел 9.4.1).
  2. Продемонстрируйте навыки по восстановлению контекста безопасности SELinux (см. раздел 9.4.2).
  3. Настройте контекст безопасности для нестандартного расположения файлов веб- службы (см. раздел 9.4.3).
  4. Продемонстрируйте навыки работы с переключателями SELinux (см. раздел 9.4.4).

Теоретическое введение

Теоретическое введение

SELinux (Security-Enhanced Linux) — реализация мандатного управления доступом в ядре Linux. Мандатное управление доступом (Mandatory Access Control, MAC) — разграничение прав доступа субъектов к объектам системы на базе меток конфиденциальности. Под объектами понимаются файлы, каталоги, устройства операционной системы. В качестве субъектов выступают процессы операционной системы. Метка в SELinux — контекст SELinux, содержащий информацию о принадлежности объекта системы пользователю SELinux, о его роли, типе и уровне безопасности. Основное назначение архитектуры MAC [5] — возможность принудительного назначения административно-установленной политики безопасности над всеми процессами и файлами системы. Политики безопасности SELinux работают поверх стандартного дискреционного управления контролем доступа (Discretionary Access Control, DAC) в Unix/Linux операционных системах.

Выполнение лабораторной работы

# Выполнение лабораторной работы

Получаем полномочия администратора. Просматриваем подробную информацию о текущем состоянии SELinux, анализируя вывод команды.

Рисунок 1: selinux

Ход работы

Проверяем текущий режим работы SELinux. Убеждаемся, что по умолчанию используется режим принудительного исполнения. Изменяем режим работы SELinux на разрешающий и подтверждаем изменение текущего режима.

Рисунок 2: getenforce

Ход работы

Рисунок 3: disabled

Редактируем конфигурационный файл, чтобы полностью отключить SELinux, и перезагружаем систему.

Ход работы

Рисунок 4: getenforce

После перезагрузки снова проверяем статус SELinux и убеждаемся, что он отключен. Пытаемся переключить режим работы SELinux без перезагрузки и анализируем реакцию системы.

Ход работы

Рисунок 5: enforcing

Возвращаем настройку SELinux в режим принудительного исполнения через конфигурационный файл и перезагружаем систему. Во время загрузки наблюдаем сообщения системы, связанные с восстановлением меток безопасности.

Ход работы

После завершения загрузки проверяем, что система работает в принудительном режиме с активным SELinux.

Рисунок 6: setstatus -v

Ход работы

Получаем полномочия администратора. Просматриваем контекст безопасности системного файла. Копируем этот файл в домашний каталог и проверяем, как изменился его контекст безопасности. Перемещаем файл обратно в системный каталог, заменяя оригинал. Убеждаемся, что контекст безопасности файла остался неправильным. Восстанавливаем правильный контекст безопасности для файла с подробным выводом процесса. Проверяем, что контекст безопасности был успешно исправлен. Инициируем массовое восстановление контекстов безопасности во всей файловой системе и перезагружаем систему, наблюдая за процессом перемаркировки.

Рисунок 7: restorecon

Ход работы

Получаем полномочия администратора. Устанавливаем необходимое программное обеспечение: httpd и lynx.

Рисунок 8: httpd
Рисунок 9: lynx

Ход работы

Рисунок 10: web

Создаем новый каталог для файлов веб-сервера вне стандартного расположения. Создаем в этом каталоге тестовую веб-страницу.

Ход работы

Изменяем конфигурацию веб-сервера, указывая новый каталог в качестве корневого и настраивая правила доступа к нему. Запускаем веб-сервер и добавляем его в автозагрузку.

Рисунок 11: DocumentRoot
Рисунок 12: Directory

Ход работы

Пытаемся обратиться к веб-серверу через текстовый браузер и обнаруживаем, что отображается стандартная страница, а не наша.

Рисунок 13: lynx
Рисунок 14: Red Hat

Ход работы

Рисунок 15: semanage | restorecon

Добавляем правило в политику SELinux, назначая правильный тип контекста для нового каталога и его содержимого. Восстанавливаем контекст безопасности для нового каталога с рекурсивным применением.

Ход работы

Снова обращаемся к веб-серверу и убеждаемся, что теперь отображается наша пользовательская страница. При необходимости перезагружаем систему.

Рисунок 16: lynx

Ход работы

Получаем полномочия администратора. Просматриваем список всех переключателей SELinux, связанных со службой FTP.

Рисунок 17: getsebool

Ход работы

Ищем подробное описание переключателей для анонимного доступа FTP, включая их текущее состояние и назначение. Временно изменяем значение одного из переключателей. Проверяем, что значение переключателя изменилось. Снова смотрим подробный список переключателей и обращаем внимание на разницу между временным и постоянным состоянием. Изменяем значение переключателя постоянно. Проверяем окончательное состояние переключателя, убеждаясь, что теперь и временное, и постоянное значения совпадают.

Рисунок 18: setsebool

Выводы

Выводы

Мы получили навыки работы с контекстом безопасности и политиками SELinux.

Список литературы

Список литературы

  1. UNIX Power Tools / M. Loukides, T. O’Reilly, J. Peek, S. Powers. — O’Reilly Media, 2009.
  2. Робачевский А., Немнюгин С., Стесик О. Операционная система UNIX. — 2-е изд. — БХВ-Петербург, 2010.
  3. Колисниченко Д. Н. Самоучитель системного администратора Linux. — СПб. : БХВ- Петербург, 2011. — (Системный администратор).
  4. Таненбаум Э., Бос Х. Современные операционные системы. — 4-е изд. — СПб. : Питер,
  5. — (Классика Computer Science).
  6. Neil N. J. Learning CentOS: A Beginners Guide to Learning Linux. — CreateSpace Inde- pendent Publishing Platform, 2016.
  7. Goyal S. K. Precise Guide to Centos 7: Beginners guide and quick reference. — Indepen- dently published, 2017.
  8. Unix и Linux: руководство системного администратора / Э. Немет, Г. Снайдер, Т. Хейн, Б. Уэйли, Д. Макни. — 5-е изд. — СПб. : ООО «Диалектика», 2020.